package com.start.workflow.core.event;

import com.start.workflow.entity.StartActBusinessEntity;

/**
 *
 */
public interface StartWorkFlowInstanceEvent extends StartWorkFLowEvent {
    /**
     * 流程创建前
     *
     * @param actBusinessEntity
     */
    default void onActInstanceCreateBefore(StartActBusinessEntity actBusinessEntity) {
    }

    /**
     * 流程创建后
     *
     * @param actBusinessEntity
     */
    default void onActInstanceCreateAfter(StartActBusinessEntity actBusinessEntity) {
    }

    /**
     * 流程取消前
     *
     * @param actBusinessEntity
     */
    default void onActInstanceCancelBefore(StartActBusinessEntity actBusinessEntity) {
    }

    /**
     * 流程取消后
     *
     * @param actBusinessEntity
     */
    default void onActInstanceCancelAfter(StartActBusinessEntity actBusinessEntity) {
    }

    /**
     * 流程结束前
     *
     * @param actBusinessEntity
     */
    default void onActInstanceCompleteBefore(StartActBusinessEntity actBusinessEntity) {
    }

    /**
     * 流程结束后
     *
     * @param actBusinessEntity
     */
    default void onActInstanceCompleteAfter(StartActBusinessEntity actBusinessEntity) {
    }


    /**
     * 任务驳回前
     *
     * @param actBusinessEntity
     */
    default void onActInstanceRejectBefore(StartActBusinessEntity actBusinessEntity) {
    }    /**
     * 任务驳回前
     *
     * @param actBusinessEntity
     */
    default void onActInstanceRejectAfter(StartActBusinessEntity actBusinessEntity) {
    }
}
